package moe.bogos.douro.api.common.soul.skill;

import moe.bogos.douro.api.common.soul.Soul;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.registries.ForgeRegistryEntry;

import java.util.Set;

public abstract class Skill extends ForgeRegistryEntry<Skill>
{
	/**
	 * 本方法将只在服务端执行
	 * @param player 使用技能的玩家
	 * @param age 魂环年限
	 * @return 返回魂技是否使用成功
	 */
	public abstract boolean onUse(PlayerEntity player, int age);
	
	/**
	 * @param age 魂环年限
	 * @return 返回技能冷却
	 */
	public abstract int getCD(int age);
	
	/**
	 * @return 返回技能说明
	 */
	public abstract String getDescription();

	/**
	 * @return 返回可以使用这个技能的武魂列表
	 */
	public abstract Set<Soul> getSoulSet();
}
